<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="util.*"%>
<%@page import="entidades.*"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.text.SimpleDateFormat"%>

<html>
<head>

<%@ include file="jspf/head.jspf" %>

<script type="text/javascript" src="js/sp/restricciones.js"></script>
<style type="text/css">
	table.tiempos
		{
		margin: 10px;
		text-align: center;
		}
		
	table.tiempos td
		{ border-width: 0; }

	table.tiempos input
		{ text-align: center; }
		
	table.tiempos tr.nombre td,
	table.tiempos td.nombre
		{
		color: #008000;
		font-weight: bold;
		font-style: italic;
		}
</style>


</head>
<body>

<%@ include file="jspf/header.jspf" %>

<%
List<Pais> paises = Pais.listar();				
List<Linea> lineas = Linea.listar();
List<Uteco> utecos = Uteco.listar();
List<Newlong> newlongs = Newlong.listar();
Map<String, Integer> tiemposDespacho = Tiempos.getTiemposDespacho();
Map<String, Integer> tiemposDeposito = Tiempos.getTiemposDeposito();

try{
	if(request.getParameter("dias_espera") != null)
		{
		Tiempos.setDiasEspera(request.getParameter("dias_espera"));
		Tiempos.guardarValores();
		}
        if(request.getParameter("dias_confeccion") != null)
		{
		Tiempos.setDiasConfeccion(request.getParameter("dias_confeccion"));
		Tiempos.guardarValores();
		}
	
	if(request.getParameter("accion") != null && request.getParameter("accion").compareTo("guardar") == 0)
		{
		// Tiempos de deposito.
		for(int n=0; n<newlongs.size(); n++)
			{
			for(int u=0; u<utecos.size(); u++)
				{
				String clave = newlongs.get(n).getId() + "x" + utecos.get(u).getId();
				Integer valor = (request.getParameter("tdnu_" + clave) != null && request.getParameter("tdnu_" + clave).length()>0)? Integer.parseInt(request.getParameter("tdnu_" + clave)) : 0;
				
				if(valor != tiemposDeposito.get(clave))
					{
					Tiempos.setDiasDeposito(newlongs.get(n).getId(), utecos.get(u).getId(), valor);
					tiemposDeposito.put(clave, valor);
					}
				}	
			}
		
		// Tiempos de despacho.
		for(int n=0; n<newlongs.size(); n++)
			{
			for(int p=0; p<paises.size(); p++)
				{
				String clave = newlongs.get(n).getId() + "x" + paises.get(p).getId();
				Integer valor = (request.getParameter("tdnp_" + clave) != null && request.getParameter("tdnp_" + clave).length()>0)? Integer.parseInt(request.getParameter("tdnp_" + clave)) : 0;
				
				if(valor != tiemposDespacho.get(clave))
					{
					Tiempos.setDiasDespacho(newlongs.get(n).getId(), paises.get(p).getId(), valor);
					tiemposDespacho.put(clave, valor);
					}
				}	
			}
		
		for(int l=0; l<lineas.size(); l++)
			{
			String clave = lineas.get(l).getId() + "";
			Integer valor = (request.getParameter("tdl_" + clave) != null && request.getParameter("tdl_" + clave).length()>0)? Integer.parseInt(request.getParameter("tdl_" + clave)) : 0;
				
			if(valor != tiemposDespacho.get(clave))
				{
				Tiempos.setDiasDespacho(lineas.get(l).getId(), valor);
				tiemposDespacho.put(clave, valor);
				}
			}		
		}

}catch(Exception e) { out.print("<div id=\"div_error_linea\" title=\"Error\">Se produjo un error inesperado:\n" + e.getMessage()+"</div>"); }
%>

<br/>

<h1>Días de espera y de despacho</h1>

<br/>




<form method="post" action="" accept-charset="utf-8" id="form_abm">
	<input type="hidden" name="accion" value="guardar" />
	
	<center>

	<img src="img/tiempos.png" alt="" title="Tiempo de espera y de margen" />

	<br/>
	<br/>

	<table class="resultados" style="width:500px;">
		<tr>
			<td><strong>Espera</strong></td>
			<td>
				El tiempo entre que una orden de trabajo es ingresada al sistema y es impresa no puede ser inferior a
				<input style="text-align:center;" type="text" class="dias" name="dias_espera" size="3" value="<%= Tiempos.getDiasEspera() %>"/>
				días.
				El tiempo entre que una orden de trabajo es ingresada al sistema y es confeccionada no puede ser inferior a
				<input style="text-align:center;" type="text" class="dias" name="dias_confeccion" size="3" value="<%= Tiempos.getDiasConfeccion() %>"/>
				días.
			</td>
		</tr>
		<tr>
			<td><strong>Depósito o <br/>Transporte</strong></td>
			<td>
				El tiempo que se debe esperar antes de confeccionar una orden de trabajo, luego de que a sido impresa,
				depende de la Uteco en que fue impresa y de la Newlong en que será confeccionada:
				
				<center><table class="tiempos">
					<thead>
						<tr class="nombre">
							<td></td>
							<%
							for(int i=0; i<utecos.size(); i++)
								{%><td><%= utecos.get(i).getDescripcion() %></td><%}
							%>
						</tr>
					</thead>
					<tbody>
						<%
						for(int i=0; i<newlongs.size(); i++)
							{
							%><tr><%
							%><td class="nombre"><%= newlongs.get(i).getDescripcion() %></td><%
							for(int j=0; j<utecos.size(); j++)
								{
								String clave = newlongs.get(i).getId() + "x" + utecos.get(j).getId();
								int valor = (tiemposDeposito.get(clave) != null)? tiemposDeposito.get(clave) : 0;
								%><td><input type="text" size="3" name="tdnu_<%= clave %>" value="<%= valor %>" /></td><%
								}
							%></tr><%
							}
						%>
					</tbody>
				</table></center>
			</td>
		</tr>
		<tr>
			<td><strong>Despacho</strong></td>
			<td>
				Al estimar la fecha de entrega de una orden de trabajo se calcula la fecha en que la orden será confeccionada
				y, a esa fecha, se le suma una cierta cantidad de días que depende de la Newlong utilizada, del país del cliente y de la línea de la orden:
				
				<% { %>
				<div style="float:right;"><center><table class="tiempos">
					<thead>
						<tr class="nombre">
							<td></td>
							<%
							for(int i=0; i<paises.size(); i++)
								{%><td><%= paises.get(i).getNombre() %></td><%}
							%>
						</tr>
					</thead>
					<tbody>
						<%
						for(int i=0; i<newlongs.size(); i++)
							{
							%><tr><%
							%><td class="nombre"><%= newlongs.get(i).getDescripcion() %></td><%
							for(int j=0; j<paises.size(); j++)
								{
								String clave = newlongs.get(i).getId() + "x" + paises.get(j).getId();
								int valor = (tiemposDespacho.get(clave) != null)? tiemposDespacho.get(clave) : 0;
								%><td><input type="text" size="3" name="tdnp_<%= clave %>" value="<%= valor %>" /></td><%
								}
							%></tr><%
							}
						%>
					</tbody>
				</table></center></div>
				<div style="float:left;"><br/><center><table class="tiempos">
					<tbody>
						<%
						for(int i=0; i<lineas.size(); i++)
							{
							String clave = lineas.get(i).getId() + "";
							int valor = (tiemposDespacho.get(clave) != null)? tiemposDespacho.get(clave) : 0;
							%><tr><%
							%><td class="nombre" style="text-align:right;"><%= lineas.get(i).getDescripcion() %></td><%
							%><td><input type="text" size="3" name="tdl_<%= clave %>" value="<%= (valor>0)? valor : "" %>" /></td><%
							%></tr><%
							}
						%>
					</tbody>
				</table></center></div>
				
				<div style="clear:both;"></div>
				<% } %>
			</td>
		</tr>
	</table>

	<br/>

	<% if( Sesiones.tienePermiso(session, "restricciones", "write") || true) { %>
	<button name="guardar"><img src="icon/save.png" alt="" title="Guardar"/> <span>Guardar</span></button>
	<% } %>

	</center>

</form>


<%@ include file="jspf/footer.jspf" %>

</body>
</html>

